package gui;

import java.awt.Color;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JButton;

import service.Service;

public class AdjazenzAction extends AbstractAction {

  private KnotenButton button;
  JButton testButton = new JButton();

  public AdjazenzAction(KnotenButton button) {
    if (button != null) {
      this.button = button;

    } else
      throw new IllegalArgumentException("button ist null!");
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    if (button.getText().equals("0"))
    {
      
      Service.getInstanz().addKante(button.getSpalte(), button.getZeile() );

      button.setText("1");
      button.setBackground(Color.gray);
      
      Service.getInstanz().addKante(button.getZeile(),button.getSpalte());
      Service.getInstanz().getHauptfenster().getAdjazenzmatrixPanel().getButton(button.getZeile(),button.getSpalte()).setText("1");
      Service.getInstanz().getHauptfenster().getAdjazenzmatrixPanel().getButton(button.getZeile(),button.getSpalte()).setBackground(Color.gray);
      
      Service.getInstanz().getHauptfenster().getWegmatrixPanel().aktualisieren();
      Service.getInstanz().getHauptfenster().getDistanzmatrixPanel().aktualisieren();
      Service.getInstanz().aktualisiereBerechnungen();
    }
    else
    if (button.getText().equals("1"))
    {
     Service.getInstanz().loescheKante(button.getSpalte(), button.getZeile());
     button.setText("0");
     button.setBackground(testButton.getBackground());


     Service.getInstanz().loescheKante(button.getZeile(),button.getSpalte());
     Service.getInstanz().getHauptfenster().getAdjazenzmatrixPanel().getButton(button.getZeile(),button.getSpalte()).setText("0");
     Service.getInstanz().getHauptfenster().getAdjazenzmatrixPanel().getButton(button.getZeile(),button.getSpalte()).setBackground(testButton.getBackground());
  
     Service.getInstanz().getHauptfenster().getWegmatrixPanel().aktualisieren();
     Service.getInstanz().getHauptfenster().getDistanzmatrixPanel().aktualisieren();
     Service.getInstanz().aktualisiereBerechnungen();
    }
      

//    System.out.println(Service.getInstanz().getKantenzahl(button.getSpalte(),button.getZeile()));
//    
//     System.out.println("Zeile:"+button.getZeile()+" Spalte:"+button.getSpalte());

  }

}
